In recent years, grid computing (to be also simply referred to as “grid” hereinafter), which utilizes a plurality of available computers connected over a network as one system, is attracting attention. Attempts are being made to apply grid computing to various fields.
FIG. 1 is a diagram for explaining the architecture of grid computing. There are several types of grid computing. Grid computing to be explained here is of a type called desktop grid computing which performs a job using the idle time of the CPU of a desktop PC or the like.
In FIG. 1, a client 10 is a device to which a user submits a job as a request. A submitted job is passed to a task manager (to be abbreviated as TM hereinafter) 20. The TM 20 transmits the description of the job to a dynamic job scheduler (to be abbreviated as DJS hereinafter) 30.
The DJS 30 manages all of the resources of a plurality of host devices 41 to 43, each of which includes a broker 411 and a resource manager (to be abbreviated as RM hereinafter) 412 and is recognized as a resource. The DJS 30 analyzes a job, selects the brokers 411 of the most favorable ones of the resources, and notifies the TM 20 of the selected brokers 411. Note that a resource refers to a CPU which is in an idle state and available.
Each broker 411 registers in advance resource information acquired by the corresponding RM 412 in the DJS 30. Each selected broker 411 submits the job to the corresponding most favorable resource at the request of the TM 20. The broker 411 notifies the TM 20 of the completion of the job upon termination of the job.
The TM 20 submits a job to the most favorable ones of the brokers 411 selected by the DJS 30 and monitors the progress of the job thereafter. Upon receipt of a completion notification from each selected broker 411, the TM 20 notifies the client 10 of the result. If a change or abnormality (e.g., a failure, receipt of another job, or the like) occurs in the corresponding resource, the RM 412 notifies the broker 411 to that effect.
With this mechanism, a job is distributed among resources such as CPUs which are generally unused, thereby allowing distribution processing by a plurality of devices without making a user conscious of the distribution processing. This implements desktop grid computing.
Research has been made to join the CPU power of computers using grid computing technology as described above and implement high-speed processing. However, the technology is not often applied to a computer peripheral.
The configuration of a case where the computing technology is applied to PDL processing of an image processing apparatus will be explained with reference to FIG. 2. In the explanation with reference to FIG. 1, modules with which grid computing is implemented are treated as separate ones. If the technology is applied to a printing apparatus, a plurality of modules are generally present in one device.
FIG. 2 is a diagram showing the configuration of a case where grid computing is applied to PDL processing (a process of converting page description language codes into a raster image) of a printer. In the example shown in FIG. 1, the modules with which grid computing is implemented are treated as separate units. However, if grid computing is applied to an image forming apparatus such as a multifunction peripheral equipment (MFP) or printer, a plurality of modules are generally present in one device.
In the configuration in FIG. 2, a user submits a job such as a printing instruction from a client PC 110. The submitted job is analyzed by an image forming apparatus 120 such as a printer having a TM function and a DJS function, and distribution processing by grid computing is performed using the resources of three PCs PC1 141, PC2 142, and PC3 143 each having a broker and an RM.
More specifically, in the configuration shown in FIG. 2, the image forming apparatus 120 also has a function as a host in grid computing. A PC other than the image forming apparatus 120, of course, may have a function as a host.
When a PDL print job is submitted from the client PC 110, the job is appropriately distributed among the resources of the PCs 141 to 143 via the TM and DJS of the image forming apparatus 120. Simultaneously with this, an application program for converting PDL codes into an image is also transmitted from the image forming apparatus 120 to each PC.
Images formed by converting the PDL codes in the respective PCs are collected and finally output in a combined state by the image forming apparatus 120.
The number of clients (resources) to which the distribution processing is to be allocated is not particularly limited, and three or more clients may be used. The distribution processing may be allocated to the resource of the client PC 110, to which a job is submitted, or the resource of the image forming apparatus 120.
As applications of grid computing to an MFP, there can be considered distribution of processing which requires high CPU power such as OCR or automatic search key generation, in addition to PDL processing as explained above with reference to FIG. 2.
However, an MFP often shuts down power at a closing time, upon the occurrence of trouble, or the like. In the configuration of general grid computing as explained above, distribution processing being performed as background processing is not taken into consideration at power shutdown. Accordingly, if the power of an apparatus with which grid computing is implemented is unexpectedly shut down, distribution processing requested by another device and being performed as background processing is stopped and left incomplete. For this reason, the efficiency in distribution processing decreases.
In an OS such as Microsoft Windows (registered trademark), it is possible to lay open a folder on the hard disk of a PC as a shared folder on a network. To shut down a PC while the shared file is being accessed by another PC, a process of inquiring of a user whether to disconnect the other PC is performed. However, this is processing related to a shared folder and not related to distribution processing requested by another device and being performed in the background.
There is a need for a technique which makes it possible to designate which processing is to be performed at power shutdown when load distribution processing such as grid computing is applied to a plurality of computer peripherals connected over a network, and the power of each apparatus constituting a system is to be shut down, as described above.